///*
// * To change this license header, choose License Headers in Project Properties.
// * To change this template file, choose Tools | Templates
// * and open the template in the editor.
// */
//package propertymodel;
//
//import java.time.LocalDate;
//import java.util.Objects;
//import javafx.beans.property.SimpleIntegerProperty;
//import javafx.beans.property.SimpleObjectProperty;
//import javafx.beans.property.SimpleStringProperty;
//import jpamodel.OwnedWare;
//
///**
// *
// * @author Joseph
// */
//public class PropOwnedWare {
//
//    // <editor-fold desc="Bunch of useless variables" defaultstate="collapsed">
//    private SimpleStringProperty nameProperty;
//    private SimpleObjectProperty<LocalDate> dateInProperty;
//    private SimpleObjectProperty<LocalDate> dateOutProperty;
//    private SimpleObjectProperty<PropCategory> categoryProperty;
//    private SimpleIntegerProperty idProperty;
//    private SimpleIntegerProperty purchasePriceProprerty;
//    private SimpleIntegerProperty soldPrice;
//    private final OwnedWare w;
//    private static final String ID = "ID";
//    private static final String NAME = "Name";
//    private static final String DATEIN = "DateIn";
//    private static final String DATEOUT = "DateOut";
//    private static final String CATEGORY = "Category";
//    private static final String PURCHASEPRICE = "PurchasePrice";
//    private static final String SOLDPRICE = "SoldPrice";
//    // </editor-fold>
//
//    public PropOwnedWare(OwnedWare ware) {
//        w = ware;
//        setup();
//    }
//    
//    // <editor-fold desc="NameProperty methods" defaultstate="collapsed">
//    public SimpleStringProperty nameProperty() {
//        if (nameProperty == null) {
//            nameProperty = new SimpleStringProperty(this, NAME, w.getName());
//        }
//        return nameProperty;
//    }
//
//    public void setName(String newValue) {
//        nameProperty.set(newValue);
//        w.setName(newValue);
//    }
//
//    public String getName() {
//        return nameProperty.get();
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="idProperty methods" defaultstate="collapsed">
//    public SimpleIntegerProperty idProperty() {
//        if (idProperty == null) {
//            idProperty = new SimpleIntegerProperty(this, ID, w.getProdID());
//        }
//        return idProperty;
//    }
//
//    public void setID(int newValue) {
//        idProperty.set(newValue);
//        w.setProdID(newValue);
//    }
//
//    public int getID() {
//        return idProperty.get();
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="DateInProperty methods" defaultstate="collapsed">
//    public SimpleObjectProperty<LocalDate> dateInProperty() {
//        if (dateInProperty == null) {
//            dateInProperty = new SimpleObjectProperty<>(this, DATEIN, w.getDateIn());
//        }
//        return dateInProperty;
//    }
//
//    public LocalDate getDateIn() {
//        return dateInProperty.get();
//    }
//
//    public void setDateIn(LocalDate now) {
//        dateInProperty.set(now);
//        w.setDateIn(now);
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="DateOutProperty methods" defaultstate="collapsed">
//    public SimpleObjectProperty<LocalDate> dateOutProperty() {
//        if (dateOutProperty == null) {
//            dateOutProperty = new SimpleObjectProperty<>(this, DATEOUT, w.getDateOut());
//        }
//        return dateOutProperty;
//    }
//
//    public LocalDate getDateOut() {
//        return dateOutProperty.get();
//    }
//
//    public void setDateOut(LocalDate now) {
//        dateOutProperty.set(now);
//        w.setDateOut(now);
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="CategoryProperty methods" defaultstate="collapsed">
//    public SimpleObjectProperty<PropCategory> categoryProperty() {
//        if (categoryProperty == null) {
//                categoryProperty = 
//        }
//        return categoryProperty;
//    }
//
//    public PropCategory getCategory() {
//        return categoryProperty.get();
//    }
//
//    public void setCategory(PropCategory newValue) {
//        categoryProperty.set(newValue);
//        w.setCategory(newValue.getCategory());
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="CurrentPriceProperty methods" defaultstate="collapsed">
//    public SimpleIntegerProperty purchasePriceProperty() {
//        if (purchasePriceProprerty == null) {
//            purchasePriceProprerty = new SimpleIntegerProperty(this, PURCHASEPRICE, w.getPurchasePrice());
//        }
//        return purchasePriceProprerty;
//    }
//
//    public int getPurchasePrice() {
//        int result;
//        if (purchasePriceProprerty == null) {
//            result = w.getPurchasePrice();
//        } else {
//            result = purchasePriceProprerty.get();
//        }
//        return result;
//    }
//
//    public void setPurchasePrice(int value) {
//        w.setPurchasePrice(value);
//        purchasePriceProprerty.set(value);
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="CommisionPriceProperty methods" defaultstate="collapsed">
//    public SimpleIntegerProperty soldPriceProperty() {
//        if (soldPrice == null) {
//            soldPrice = new SimpleIntegerProperty(this, SOLDPRICE, w.getSoldPrice());
//        }
//        return soldPrice;
//    }
//    
//    public int getSoldPrice() {
//        return soldPrice.get();
//    }
//    
//    public void setSoldPrice(int newValue) {
//        w.setSoldPrice(newValue);
//        soldPrice.set(newValue);
//    }
//    // </editor-fold>
//
//    // <editor-fold desc="Escapes the pattern of previous methods, SO WHO GIVES TWO S***" defaultstate="collapsed">
//    public boolean isUnsold() {
//        return w.isUnsold();
//    }
//
//    public OwnedWare getOwnedWare() {
//        return w;
//    }
//
//    private void setup() {
//        idProperty();
//        nameProperty();
//        dateInProperty();
//        dateOutProperty();
//        categoryProperty();
//        purchasePriceProperty();
//        soldPriceProperty();
//    }
//    // </editor-fold>
//
//    @Override
//    public int hashCode() {
//        int hash = 7;
//        hash = 89 * hash + Objects.hashCode(this.nameProperty);
//        hash = 89 * hash + Objects.hashCode(this.dateInProperty);
//        hash = 89 * hash + Objects.hashCode(this.dateOutProperty);
//        hash = 89 * hash + Objects.hashCode(this.categoryProperty);
//        hash = 89 * hash + Objects.hashCode(this.idProperty);
//        hash = 89 * hash + Objects.hashCode(this.purchasePriceProprerty);
//        hash = 89 * hash + Objects.hashCode(this.soldPrice);
//        return hash;
//    }
//
//    @Override
//    public boolean equals(Object obj) {
//        if (obj == null) {
//            return false;
//        }
//        if (getClass() != obj.getClass()) {
//            return false;
//        }
//        final PropOwnedWare other = (PropOwnedWare) obj;
//        if (!Objects.equals(this.idProperty, other.idProperty)) {
//            return false;
//        }
//        if (!Objects.equals(this.purchasePriceProprerty, other.purchasePriceProprerty)) {
//            return false;
//        }
//        if (!Objects.equals(this.w, other.w)) {
//            return false;
//        }
//        return true;
//    }
//
//    
//    
//    
//}
